﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ucntemaxp.DB;
using System.Linq.Expressions;

namespace ucntemaxp.Ctr
{
    class CtrKunde
    {
        private DB.Dm74_1Entities DBCon;
        public CtrKunde()
        {
            DBCon = new DB.Dm74_1Entities();
        }

        public void addKunde()
        {
            DBCon = new DB.Dm74_1Entities();
        }

        public void opretKunde(string navn, string adresse, string email, string tlf, string køn, string fødselsdato, string tæller, string oprettelsesdato, string rabatNavn)
        {
            DBCon.Kundes.AddObject(new Kunde()
            {
                Navn = navn,
                Adresse = adresse,
                Email = email,
                Tlf = int.Parse(tlf),
                Køn = køn,
                Fødselsdato = fødselsdato,
                Tæller = Convert.ToInt32(tæller),
                Oprettelsesdato=Convert.ToDateTime(oprettelsesdato),
                Rabat = DBCon.Rabats.Single(c=> c.Navn.Equals(rabatNavn))
            });
            DBCon.SaveChanges();
        }

        public Kunde findKunde(int tlf)
        {
            Kunde k = null;
            k = DBCon.Kundes.First(i => i.Tlf == tlf);
            return k;

           
        }

        public bool checkKunde(int tlf)
        {
            bool b= false;
            var kunde = from x in DBCon.Kundes where x.Tlf==tlf select x;
            if(kunde ==null)
            {
                b =true;
            }
            return b;

        }

        public void opdaterKunde(int id ,string navn, string adresse, string email, string tlf, string køn, string fødselsdato, string tæller, string oprettelsesdato, string rabatNavn)
        {
            try
            {
                Kunde k = DBCon.Kundes.First(i => i.Kundeid== id);
                k.Navn = navn;
                k.Adresse=adresse;
                k.Email = email;
                k.Tlf = int.Parse(tlf);
                k.Køn = køn;
                k.Fødselsdato = fødselsdato;
                k.Tæller = Convert.ToInt32(tæller);
                k.Oprettelsesdato=Convert.ToDateTime(oprettelsesdato);
                k.Rabat = DBCon.Rabats.Single(c=> c.Navn.Equals(rabatNavn));
                DBCon.SaveChanges();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

    }
}
